"""
烤地瓜
需求主线:
1. 被烤的时间和对应的地瓜状态:
        0-3分钟: 生的
        3-5分钟: 半生不熟
        5-8分钟: 熟的
        超过8分钟: 烤糊了

2. 添加的调料:
        用户可以按自己的意愿添加调料
"""
"""
需要定义的类:地瓜类
地瓜类SweetPotato:
    属性:
        被烤的时间          cook_time       数值       默认0
        状态               status          字符串     默认:生的
        身上被添加的调料     seasoning       列表       默认空的
    方法:
        烘焙:cook(self,n)n:当前一次烘焙时间
            焙烤的时间cook_time+=n
            如果焙烤时间cook_time在0-3分钟:状态是生的
            如果焙烤时间cook_time在3-5分钟:状态是半生不熟的
            如果焙烤时间cook_time在5-8分钟:状态是熟的
            大于8分钟:糊了
        
        添加调料add_seasoning(self,s):s:需要添加的调料
            身上的调料列表.append(s)
            
        str
"""


# 需要定义的类:地瓜类
# 地瓜类SweetPotato:
class SweetPotato:
    # 属性:
    def __init__(self):
        # 被烤的时间          cook_time       数值       默认0
        self.cook_time = 0
        # 状态               status          字符串     默认:生的
        self.status = "生的"
        # 身上被添加的调料     seasoning       列表       默认空的
        self.seasoning = []

    # 方法:
    # 烘焙:cook(self,n)n:当前一次烘焙时间
    def cook(self, n):
        if n < 0:
            return "刀"
        # 焙烤的时间cook_time+=n
        self.cook_time += n
        # 如果焙烤时间cook_time在0-3分钟:状态是生的
        if 0 <= self.cook_time < 3:
            self.status = "生的"
        # 如果焙烤时间cook_time在3-5分钟:状态是半生不熟的
        elif 3 <= self.cook_time < 5:
            self.status = "半生不熟的"
        # 如果焙烤时间cook_time在5-8分钟:状态是熟的
        elif 5 <= self.cook_time < 8:
            self.status = "熟的"
        # 大于8分钟:糊了
        elif self.cook_time >= 8:
            self.status = "糊了"

    #
    # 添加调料add_seasoning(self,s):s:需要添加的调料
    def add_seasoning(self, *s):
        # 身上的调料列表.append(s)
        self.seasoning.extend(s)

    #
    # str
    def __str__(self):
        return f"我是地瓜,状态:{self.status},被烤了:{self.cook_time}分钟,调料:{self.seasoning}"


if __name__ == '__main__':
    d1 = SweetPotato()
    d2 = SweetPotato()
    print(d1)
    print(d2)
    d1.cook(4)
    print(d1)
    print(d2)
    print(d1.cook(-3))
    print(d1)
    print(d2)
    d1.add_seasoning("连花清瘟")
    print(d1)
    print(d2)
    d1.add_seasoning("芥末", "孜然")
    print(d1)
    print(d2)
